#ifndef _API_KEY_H_
#define _API_KEY_H_
#include "bsp_include.h"

#define FILTER_TIME         5       // 默认滤波时间 5*N
#define LONGPRESS_TIME      100     // 长按时间  100*N
#define REPEATSPEED         0      	// 连续发送时间 10*N

typedef enum
{
	KEY_NONE = 0,			/* 0 表示按键事件 */

	KEY_1_DOWN,				/* 1键按下 */
	KEY_1_UP,				/* 1键弹起 */
	KEY_1_LONG,				/* 1键长按 */

	KEY_2_DOWN,				/* 2键按下 */
	KEY_2_UP,				/* 2键弹起 */
	KEY_2_LONG,				/* 2键长按 */
    
    KEY_3_DOWN,				/* 3键按下 */
	KEY_3_UP,				/* 3键弹起 */
	KEY_3_LONG,				/* 3键长按 */

	KEY_4_DOWN,				/* 4键按下 */
	KEY_4_UP,				/* 4键弹起 */
	KEY_4_LONG,				/* 4键长按 */
	
	KEY_5_DOWN,				/* 4键按下 */
	KEY_5_UP,				/* 4键弹起 */
	KEY_5_LONG,				/* 4键长按 */
}KeyVal_E;

uint8_t IsKey1Down(void);
uint8_t IsKey2Down(void);
uint8_t IsKey3Down(void);
uint8_t IsKey4Down(void);
uint8_t IsKey5Down(void);

void api_key_init(void);
void api_key_scan(void);
uint8_t api_key_get(void);
void api_key_put(uint8_t _KeyCode);
void api_key_clear(void);

#endif /* _API_KEY_H_ */
